草庐IT

python - 函数闭包性能

全部标签

javascript - 使用 TypeScript 函数返回 JSON 对象

我最近发现了TypeScript,并尝试将我现有的JavaScript代码转换为TypeScript。我有一个函数可以从字符串(data)中检索信息,将其放入JSON对象(json)中并返回它。但是,当使用TypeScript且未指定返回类型时,我在Eclipse中收到以下错误:Nobestcommontypeexistsamongreturnexpressions当我添加any返回类型时它就消失了,但我认为这不是一个好的解决方案(太通用)。而且我找不到“json”或“object”类型。我的问题是:我应该使用什么返回类型?函数如下:functionformaterDonnees(da

javascript - 在异步函数内的回调中调用 await

这是一些代码(这是一个过于简化的示例,我知道它很愚蠢):functionsleep(ms){returnnewPromise(resolve=>setTimeout(resolve,ms));}asyncfunctiontest(){[1,2,3].map(()=>{console.log('test');awaitsleep(1000);});}test();目标是:显示测试然后等待一秒钟然后显示测试然后等待一秒然后显示测试然后等待一秒但是运行这段代码会导致失败:awaitisareservedword我知道我可以使用for循环修复它:asyncfunctiontest(){for(

javascript - 输入的初始排序如何影响 Array.sort 性能?

输入的顺序是否可能影响Array.sort()的性能?如果是,怎么办? 最佳答案 这取决于几件事:运行时(不同的浏览器/运行时使用不同的排序算法)您输入的内容相对于所需顺序的排列方式是否使用自定义比较器(也与上一点有关)我正在处理的一个应用程序在一个模块中遇到了严重的性能下降,该模块正在对35K+字符串的列表进行排序,在它访问的API端点开始按排序顺序向其提供数据后。前端排序花费的时间从大约30毫秒减少到6秒(200x)。排序是使用自定义比较器完成的,该比较器优先考虑以特定后缀结尾的字符串。如果没有或两个字符串都以后缀结尾,则使用自

嵌套箭头函数的Javascript内存含义

考虑:functionf1(){functionn11(){..lotsofcode..};constn12=()=>{..lotsofcode..};returnn11()+n12()+5;}constf2=()=>{functionn21(){..lotsofcode..};constn22=()=>{..lotsofcode..};returnn21()+n22()+5;}我正在尝试了解调用f1和f2的内存含义。关于n11,thisanswer说:Forsomeverysmallandnormallyinconsequentialvalueof"wasted".JavaScrip

Javascript 将可变参数传递给父类(super class)构造函数

将可变参数传递给父类(superclass)构造函数的最佳/推荐方法是什么?背景解释了我试图解决的问题。背景我正在将一些代码从Java移植到Javascript。Java的编码模式之一是函数重载。Java选择最佳匹配来确定要调用的函数。当函数是类构造函数时,这会变得很有趣。所以Java中的代码可能是publicclassMyParserextendsParser{publicintparse(Stringstr){super(str);...}publicintparse(Stringstr,intbase){super(str,base);...}}在Javascript中变成:cl

javascript - 如何在不使用 JavaScript ES6 中的构造函数的情况下使用对象文字来创建类的实例?

我正在尝试学习JavaScriptES6,这是一种非常酷的语言,我认为我应该练习一下,但我做不到anexercise.那么如何使用对象字面量来复制一个类。例如类是:classPoint{constructor(x,y){this.x=x,this.y=y}add(other){returnnewPoint(this.x+other.x,this.y+other.y)}}我想在这里使用对象字面量来使输出为真。varfakePoint=YOUR_CODE_HEREconsole.log(fakePointinstanceofPoint) 最佳答案

javascript - 为什么 'await' 在 '.then()' 函数返回的代理上触发 'async'?

我正在使用babel(env)编译代码,向下编译为ES5。代码如下:(async()=>{constp=async()=>{returnnewProxy({},{get:(target,property)=>{console.log(property);}})};constr=awaitp();//awaitcalls.thenontheresultofp()})(); 最佳答案 它实际上发生了两次。Whyis.then()triggeredonaProxyreturnedbyanasyncfunction?asyncfunctio

javascript - DevTools 性能工具中的解析、编译和评估是什么?

在Chromes的性能选项卡中运行JS脚本时,我看到JS解释分为三个步骤:Parse、Compile和Evaluate。有时我只会看到Evaluate,有时会看到Compile和Evaluate,有时会看到全部三个。我的问题是:每个步骤的实际含义是什么?为什么有时会缺少步骤?(例如,有时Parse会丢失) 最佳答案 解析:js引擎检查代码,确定所有不同的范围、变量声明等,并对它们进行排序。在这一步也会发生提升。基本上你的纯文本源代码变成了AbstractSyntaxTree(AST)编译:ChromeV8使用JIT编译,这意味着部分

javascript - 云函数 : How to copy Firestore Collection to a new document?

我想在发生事件时使用CloudFunctions在Firestore中制作一个集合的副本我已经有了迭代集合并复制每个文档的代码constfirestore=admin.firestore()firestore.collection("products").get().then(query=>{query.forEach(function(doc){varpromise=firestore.collection(uid).doc(doc.data().barcode).set(doc.data());});});有更短的版本吗?一次复制整个集合? 最佳答案

javascript - 混合构造函数并在 Javascript 代理对象上应用陷阱

我有一个类,我想对其应用代理,观察方法调用和构造函数调用:计算器.jsclassCalc{constructor(){}add(a,b){returna+b;}minus(a,b){returna-b;}}module.exports=Calc;index.jsconstCalculator=require('./src/Calculator');constCalculatorLogger={construct:function(target,args,newTarget){console.log('Objectinstantiated');returnnewtarget(...arg